Apparatus and method for coding a three dimensional mesh

ABSTRACT

Disclosed is a three-dimensional (3D) mesh compression apparatus and method. The 3D mesh compression apparatus may generate a base mesh through a mesh simplification, may separately compress the base mesh and peaks eliminated by the simplification, may construct a covariance matrix based on a topological distance between the eliminated peaks, and may compress 3D mesh data based on the covariance matrix.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of Korean Patent Application No.10-2009-0098952, filed on Oct. 16, 2009 and the benefit of Korean PatentApplication No. 10-2010-0034488, filed Apr. 14, 2010, in the KoreanIntellectual Property Office, the disclosure of which is incorporatedherein by reference.

BACKGROUND

1. Field

Example embodiments relate to a three-dimensional (3D) mesh compressionapparatus and method, and more particularly, to a technology thatconstructs a covariance matrix based on a topological distance betweenpeaks, and encodes geometric information associated with an eliminatedpeak based on the covariance matrix.

2. Description of the Related Art

A three-dimensional (3D) mesh may generally use a large amount ofstorage space, a large amount of calculations, a broad transmissionbandwidth, and the like. Particularly, when a complexity of the meshincreases, a greater storage space and a higher bandwidth of a networkused for transmission are used, and thus, there is a difficulty inutilizing the mesh. Therefore, there is a desire for a compression of a3D object for effective transmission, storage, and rendering of meshdata.

A 3D mesh model may be constituted of connectivity information,geometric information, and feature information. The connectivityinformation may indicate a relationship between adjacent vertexes, thegeometric information may indicate a 3D location coordinate of eachvertex, and the feature information may indicate a color of the mesh, adirection of a perpendicular line of the mesh, a reflection rate of themesh, and the like.

Here, the geometric information may be coded based on a residual vectorbetween geometric information at a predicted point, and geometricinformation at an actual point. However, the residual vector of thegeometric information may not be constant based on a predicted triangle,and, when two triangles are not in a form of a parallelogram, theresidual vector may increase, thereby decreasing a compressionperformance.

Thus, there is a desire for a 3D mesh compression apparatus and methodthat increases a compression rate of the geometric information, therebyproviding an excellent compression rate.

SUMMARY

According to an aspect, there is provided an a three-dimensional (3D)mesh compression apparatus including a mesh simplifying unit to generatea base mesh by simplifying an inputted 3D mesh, a base mesh coding unitto code the base mesh, and a peak coding unit to code, based on acovariance matrix, at least one peak eliminated by the simplification.

The 3D mesh compression apparatus may further include an entropy codingunit to transform the coded base mesh and the coded at least one peakinto a bit stream by performing entropy-coding.

According to an embodiment, the entropy coding unit may record a MostSignificant Bit (MSB) or a Least Significant Bit (LSB) first amonggeometric information associated with the coded base mesh and geometricinformation associated with the at least one coded peak to transform therecorded MSB and/or the recorded LSB into a bit stream.

The peak coding unit may include a geometric information estimating unitto estimate geometric information associated with the at least oneeliminated peak, a segmentation unit to segment the base mesh into atleast one area, a matrix generating unit to generate the covariancematrix based on connectivity information between the at least oneeliminated peak, a domain-transforming unit to perform adomain-transform based on the estimated geometric information and thecovariance matrix, and a quantization unit to quantize a coefficientcalculated by the domain-transform.

The geometric estimating unit may perform estimating geometricinformation based on each local coordinate of a plurality of triangles,and a tangent vector of a first local coordinate of a first triangleamong the plurality of triangles may be determined by projecting, onto aplane including the first triangle, a tangent vector of a second localcoordinate of a second triangle adjacent to the first triangle.

The matrix generating unit may perform calculating a topologicaldistance between the at least one eliminated peak, and generating thecovariance matrix including a covariance determined based on thetopological distance, as an element.

According to an embodiment, the domain-transforming unit may include aneigenvector calculating unit to calculate at least one eigenvector byperforming eigenvector decomposition of the covariance matrix, and acoefficient calculating unit to calculate a coefficient of each of theat least one eigenvectors by calculating an inner product between the atleast one eigenvector and at least one residual vector that iscalculated through the estimation of the geometric information.

According to another embodiment, the coefficient calculating unit maycalculate a coefficient of each of the at least one eigenvectors bycalculating an inner product between the at least one eigenvector and atleast one element of at least one residual vector that is calculatedthrough the estimation of the geometric information.

The quantization unit may differently set a number of bits allocated tothe quantization based on an importance of a coefficient extractedthrough the domain-transform.

According to another aspect, there is provided an a 3D mesh decodingapparatus including an entropy decoding unit to extract restorationinformation to restore the 3D mesh by entropy-decoding of an inputtedbit stream, a base mesh decoding unit to decode a base mesh based on therestoration information, a peak decoding unit to restore an eliminatedpeak based on a covariance matrix, and a mesh restoring unit to restorethe 3D mesh based on the restored peak data and the base mesh.

According to still another aspect, there is provided a 3D meshcompression method including generating a base mesh by simplifying aninputted 3D mesh, coding the base mesh, and coding at least one peakeliminated by the simplification, based on a covariance matrix.

The 3D mesh compression method may further include transforming thecoded base mesh and the coded at least one peak into a bit stream byperforming entropy-coding.

According to an embodiment, the transforming may include recording anMSB first among the coded base mesh and geometric information associatedwith the at least one coded peak to transform the recorded MSB into abit stream.

According to another embodiment, the transforming may include recordingan LSB first among the coded base mesh and geometric informationassociated with the at least one coded peak to transform the recordedLSB into a bit stream.

The coding based on the covariance matrix may include estimatinggeometric information associated with the at least one eliminated peak,segmenting the base mesh into at least one area, generating thecovariance matrix based on connectivity information between the at leastone eliminated peak, performing a domain-transform based on theestimated geometric information and the covariance matrix, andquantizing a coefficient calculated through the domain-transform.

The generating may perform calculating a topological distance betweenthe at least one eliminated peak, and generating the covariance matrixincluding a covariance determined based on the topological distance, asan element.

According to an embodiment, the performing of the domain-transform mayinclude calculating at least one eigenvector by performing eigenvectordecomposition of the covariance matrix, and calculating a coefficient ofeach of the at least one eigenvector by calculating an inner productbetween the at least one eigenvector and at least one residual vectorthat is calculated through the estimation of the geometric information.

According to another embodiment, the performing of domain-transformingmay include calculating at least one eigenvector by performingeigenvector decomposition of the covariance matrix, and calculating acoefficient of each of the at least one eigenvectors by calculating aninner product between the at least one eigenvector and at least oneelement of at least one residual vector that is calculated through theestimation of the geometric information.

According to another aspect, there is provided a geometric informationestimation method that estimates geometric information of a peakeliminated through mesh-simplification, and the geometric informationestimation method may include determining a first predictive point of afirst triangle of a base mesh and a second predictive point of a secondtriangle adjacent to the first triangle, determining a local coordinateof the first predictive point based on a normal vector and a tangentvector at the first predictive point, and an outer product vectorbetween the normal vector and the tangent vector, determining a localcoordinate of the second predictive point by projecting, onto a planeincluding the second triangle, the tangent vector of the firstpredictive point, and estimating the geometric information of theeliminated peak based on the local coordinates of the triangles.

The determining of the local coordinate of the second predictive pointmay include calculating an inner product of the normal vector of thefirst predictive point with a normal vector of the second predictivepoint, determining a tangent vector of the second predictive point byprojecting the tangent vector of the first predictive point onto a planeincluding the second triangle, when the inner product is a positivenumber, determining, as the tangent vector of the second predictivepoint, an inverse vector of a vector obtained by projecting the tangentvector of the first predictive point onto the plane including the secondtriangle, when the inner product is a negative number, determining, asthe tangent vector of the second predictive point, one of the normalvector of the first predictive point and an inverse vector of the normalvector of the first predictive point, when the inner product is zero,and determining the local coordinate of the second predictive pointbased on the tangent vector of the second predictive point, the normalvector of the second predictive point, an outer product vector betweenthe tangent vector of the second predictive point and the normal vectorof the second predictive vector.

The determining, as the tangent vector of the second predictive point,of the one of the normal vector of the first predictive point and theinverse vector of the normal vector of the first predictive point mayperform determining the inverse vector of the normal vector of the firstpredictive point as the tangent vector of the second predictive point,when the tangent vector of the first predictive point is identical tothe normal vector of the second predictive point, and determining thenormal vector of the first predictive point as the tangent vector of thesecond predictive point, when the tangent vector of the first predictivepoint is identical to an inverse vector of the normal vector of thesecond predictive point.

Additional aspects, features, and/or advantages of embodiments will beset forth in part in the description which follows and, in part, will beapparent from the description, or may be learned by practice of thedisclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects and advantages will become apparent and morereadily appreciated from the following description of the embodiments,taken in conjunction with the accompanying drawings of which:

FIG. 1 is a block diagram illustrating a three-dimensional (3D) meshcompression apparatus according to example embodiments;

FIG. 2 is a diagram illustrating a process of simplifying a meshaccording to example embodiments;

FIG. 3 is a diagram illustrating a detailed format of a peak coding unitin the 3D mesh compression apparatus of FIG. 1;

FIG. 4 is a diagram illustrating a process of estimating geometricinformation according to example embodiments;

FIG. 5 is a diagram illustrating a process of maintaining a direction ofan adjacent local coordinate to be constant according to exampleembodiments;

FIG. 6 is a diagram illustrating connectivity information betweeneliminated peaks according to example embodiments;

FIG. 7 is a flowchart illustrating a 3D mesh compression methodaccording to example embodiments;

FIG. 8 is a diagram illustrating a detailed process of coding of FIG. 7based on a covariance matrix;

FIG. 9 is a flowchart illustrating a geometric information estimatingmethod according to example embodiments;

FIG. 10 is a diagram illustrating a 3D mesh decoding method according toexample embodiments;

FIG. 11 is a block diagram illustrating a 3D mesh decoding apparatusaccording to example embodiments; and

FIG. 12 is a diagram illustrating a peak decoding unit in the 3D meshdecoding apparatus of FIG. 11, in detail.

DETAILED DESCRIPTION

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings, wherein like referencenumerals refer to the like elements throughout. Embodiments aredescribed below to explain the present disclosure by referring to thefigures

FIG. 1 illustrates a three-dimensional (3D) mesh compression apparatus100 according to example embodiments.

Referring to FIG. 1, the 3D mesh compression apparatus 100 may include amesh simplifying unit 110, a base mesh coding unit 120, and a peakcoding unit 130. Also, the 3D mesh compression apparatus 100 may furtherinclude an entropy coding unit 140.

The mesh simplifying unit 110 may generate a base mesh by simplifying aninputted 3D mesh. In this instance, various methods may be used for thesimplification of the mesh, and when peaks eliminated through thesimplification of the mesh are uniformly distributed on an entire meshsurface, the simplification may be more effectively performed. Also, themesh may be simplified based on only connectivity information to enablea decoder to restore the simplified mesh and to restore an originalinput mesh based on the restored simplified mesh. In this instance, thesimplification of the mesh may be iteratively performed for severaliterations, a number of the iteration depending on a number of peaks ofthe inputted mesh. When the simplification is iteratively performed, amesh simplified in a previous operation may be used as a new inputtedmesh and the same process is performed. A number of the simplificationis adaptively selected based on a model, and thus, a compressionefficiency is optimized.

The inputted mesh is classified into the simplified mesh and geometricinformation associated with eliminated peaks through the simplification,and connectivity information used for the simplification of the mesh orrestoration of the simplified mesh may be coded. An example embodimentof a process of simplifying the mesh will be described with reference toFIG. 2.

Referring to FIG. 2, an inputted mesh 210 may be simplified byeliminating a single peak for each hexagon patch of the mesh 210.Accordingly, the mesh 210 may be classified into an eliminated peak 220and a base mesh 230 through the simplification.

Referring to FIG. 1, the base mesh coding unit 120 may code the basemesh 230 generated by the mesh simplifying unit 110. In this instance,connectivity information of the base mesh and geometric information ofthe base mesh may be coded through a single-rate compression, andvarious methods, such as a method selected by a user or a method that isvariable, in addition to the single-rate compression, may be applied.

The peak coding unit 130 may code at least one peak eliminated throughthe simplification, based on a covariance matrix. The peak coding unit130 will be described in detail with reference to FIG. 3.

FIG. 3 illustrates a detailed format of a peak coding unit in the 3Dmesh compression apparatus of FIG. 1.

Referring to FIG. 3, a peak coding unit 130 may include a geometricinformation estimating unit 310, a segmentation unit 320, a matrixgenerating unit 330, a domain-transforming unit 340, and a quantizationunit 350.

The geometric information estimating unit 310 may estimate geometricinformation of at least one eliminated peak. A local coordinate is usedfor estimation of the geometric information and a direction betweenlocal coordinates of adjacent triangles is maintained to be constant. Asan example, the geometric information estimating unit 310 may estimategeometric information based on each local coordinate of a plurality oftriangles, and may determine a tangent vector of a first localcoordinate of a first triangle among the plurality of triangles byprojecting a tangent vector of a second local coordinate of a secondtriangle adjacent to the first triangle onto a plane including the firsttriangle. A process of estimating the geometric information will bedescribed in detail with respect to FIGS. 4 and 5.

FIG. 4 illustrates a process of estimating geometric informationaccording to example embodiments.

A residual vector may be generated in a local coordinate system toincrease a geometric information compression rate of eliminated peaks.Peak information associated with a peak of a simplified mesh may be usedto generate the residual vector. Referring to FIG. 4, a locationprediction may be performed for generating the residual vector. When apeak (1) 401, a peak (2) 402, a peak (3) 403, and a peak (4) 404 arepeaks of the simplified mesh, and a peak (5) 405 is the eliminated peak,a peak (6) 406 that is an average location of the peak (1) 401, the peak(2) 402, the peak (3) 403, and the peak (4) 404 may be used as apredictive value of the peak (5) 405.

A process of maintaining a direction between adjacent local coordinatesto be constant in the local coordinate system for generating theresidual vector will be described in detail with reference to FIG. 5.

FIG. 5 illustrates a process of maintaining a direction of an adjacentlocal coordinate to be constant according to example embodiments.

Referring to FIG. 5, to set a local coordinate, a normal vector (n1) 511and a normal vector (n2) 521 are calculated at adjacent predictivepoints, namely, at a first predictive point 510 and at a secondpredictive point 520, respectively. When a local coordinate of the firstpredictive point 510 is calculated based on the n1 511 of the firstpredictive point 510, a tangent vector (h1) 512 of the first predictivepoint 510, and an outer product vector 513 between the n1 511 and the h1512, a vector that is obtained by projecting the h1 512 of the firstpredictive point 510 onto a mesh plane of a second predictive point 520may be used as a tangent vector (h2) 522 of the second predictive point520. Accordingly, a local coordinate of the second predictive point 520may be calculated based on the n2 521 of the second predictive point520, the h2 522 of the second predictive point 520, and an outer productvector 523 between the n2 521 and the h2 522.

A projecting method may be changed based on an inner product valuebetween adjacent normal vectors to maintain a consistency of a localcoordinate system. That is, when the inner product value between n1 511and n2 521 is a positive number, the h1 512 is projected as is todetermine the h2 522, and when the inner product value is a negativenumber, the h1 512 is projected and an inverse vector of the projectedvector may be determined as the h2 522. When the inner project value iszero and the h1 512 and n2 521 are equivalent, the h2 522 is determinedas an inverse vector of the n1 511 and when the h1 512 and an inversevector of the n2 521 are equivalent, the h2 522 is determined as the n1511.

The segmentation unit 320 may segment a base mesh into at least onearea. According to example embodiments, when a domain-transform methodis applied to analyze a relationship between eliminated peaks, a methodthat segments an inputted mesh into at least one area and separatelyperforms a transform of geometric information for each segmented area,may be used, since a complexity of the domain-transform method increasesin proportion to a number of eliminated peaks. The domain-transform isused for compressing geometric information of a peak, and may indicatetransform of geometric information of a 3D coordinate system intogeometric information of a different coordinate system. In thisinstance, the domain-transform may use a Karhunen-Loeve Transform (KLT),a discrete cosine transform (DCT), and the like.

The segmentation unit 320 may segment the area based on mesh informationsimplified for synchronization with a decoder.

When a form of the segmented area is closer to a plane, a value of aresidual vector is closer to a predictive value, thereby being effectivein the compression. Accordingly, a mesh segmentation may use geometricinformation, and a triangle having a similar normal line among adjacenttriangles may be included in the same segmented area. Therefore, themesh segmentation may be performed based on adjacency informationbetween triangles and a normal vector of a triangle. However, varioussegmentation schemes may be applied based on the input mesh to increaseefficiency of the domain-transform, and as an example, a user maymanually select, through an input, an area that is to be segmented.

The matrix generating unit 330 may generate a covariance matrix based onconnectivity information between at least one eliminated peak. That is,when the domain-transform is performed to compress the geometricinformation associated with the eliminated peaks according to exampleembodiments, the covariance matrix is used for calculating adomain-transform matrix.

A topological distance of the eliminated peaks may be calculated togenerate the covariance matrix, and the topological distance may becalculated by determining whether a patch that is constructed during thesimplification is adjacent. Even though a decoder may not know thegeometric information associated with the eliminated peaks through thesimplified mesh, the decoder may obtain connectivity information,thereby constructing a covariance matrix equivalent to a covariancematrix of an encoder. An example embodiment of topological connectivityinformation between the eliminated peaks will be described withreference to FIG. 6.

Referring to FIG. 6, a topological distance 621 between “a” and “b” is“1” and a topological distance 620 between “d” and “e” is “2”.Accordingly, a correlation between “a” that is an eliminated peak withanother eliminated peak may be higher as a distance between “a” and theother eliminated peak is shorter, and thus, a covariance between theeliminated peaks may be expressed based on a topological distance.Therefore, as the topological distance becomes longer, a covariance ofcorresponding vertexes may decrease. An example of a covariance matrix Mestimated through the topological distance between the peaks is as givenbelow.

$M = \begin{bmatrix}1 & \ldots & \rho^{N_{1j}} & \ldots & \rho^{N_{1m}} \\\vdots & \ddots & \rho^{N_{ij}} & \; & \vdots \\\rho^{N_{i\; 1}} & \ldots & 1 & \ldots & \rho^{N_{im}} \\\vdots & \rho^{N_{ji}} & \; & \ddots & \vdots \\\rho^{N_{m\; 1}} & \ldots & \rho^{N_{mj}} & \ldots & 1\end{bmatrix}$

In this example, ρ denotes a correlation coefficient having a valuebetween −1 and 1, and N_(ij), denotes a topological distance between aneliminated peak i and an eliminated peak j.

Referring again to FIG. 3, the domain-transforming unit 340 may performdomain-transform based on estimated geometric information and thecovariance matrix. Here, the domain-transforming unit 340 may include aneigenvector calculating unit 341 and a coefficient calculating unit 342.

The eigenvector calculating unit 341 may calculate at least oneeigenvector by performing eigen-vector decomposition of the covariancematrix. Here, the eigenvector φk may satisfy the following Equation 1:

M[φ_(k)]=λ_(k)[φ_(k)]  [Equation 1]

In this example, λ_(k) denotes an eigenvalue.

According to an embodiment, the coefficient calculating unit 342 maycalculate a coefficient of each of the at least one eigenvectors bycalculating an inner product between the at least one eigenvector and atleast one residual vector calculated through the estimation of thegeometric information.

According to another embodiment, the coefficient calculating unit 342may calculate the coefficient of each of the at least one eigenvectorsby calculating an inner product between the at least one eigenvector andat least one element of at least one residual vector that is calculatedthrough the estimation of the geometric information.

Here, the coefficient may be calculated from a coefficient (a_(k),b_(k), c_(k)) of Equation 2:

$\begin{matrix}{\begin{bmatrix}a_{1} & b_{1} & c_{1} \\\vdots & \vdots & \vdots \\a_{k} & b_{k} & c_{k} \\\vdots & \vdots & \vdots \\a_{m} & b_{m} & c_{m}\end{bmatrix} = {{\begin{bmatrix}\varphi_{1} \\\vdots \\\varphi_{k} \\\vdots \\\varphi_{m}\end{bmatrix}\begin{bmatrix}x_{1} & x_{2} & z_{1} \\\vdots & \vdots & \vdots \\x_{k} & y_{k} & z_{k} \\\vdots & \vdots & \vdots \\x_{m} & y_{m} & z_{m}\end{bmatrix}}.}} & \left\lbrack {{Equation}\mspace{14mu} 2} \right\rbrack\end{matrix}$

In this example, the geometric information is a 3D vector constructing(x_(k), y_(k), z_(k)), and thus, a coefficient (a_(k), b_(k), c_(k)) isalso constructed by the 3D vector, and a domain-transform matrix foreach coordinate is equally applied.

Also, the decoder may superposition eigenvectors by using thecoefficient as a weight, thereby obtaining residual vectors equivalentto residual vectors of the encoder.

The domain-transform scheme may be used as a tool for analyzing anadjacency relationship between the eliminated peaks, and may applyvarious transform schemes for analyzing the adjacency relationshipbetween the eliminated peaks.

A quantization unit 350 may quantize the coefficient calculated by thedomain transform. Here, an absolute value of a coefficient at a forwardpart of the domain-transform matrix is large, and an absolute value of acoefficient at a rear part of the domain is small, and thus, a number ofbits used for quantization of the coefficient may be differently appliedbased on an importance of the coefficient. That is, a large number ofbits may be used for quantization of a coefficient having a relativelyhigh importance, whereas a small number of bits may be used forquantization of a coefficient having a relatively low importance, andthus, a compression performance may be optimized. Also, whensimplification is iteratively performed for several iterations, animportance of geometric information at a coarser level increases, andthus, a quantized bit may be adaptively changed based on asimplification level and the adaptively changed quantized bit may beapplied.

Referring again to FIG. 1, an entropy-coding unit 140 may transform acoded base mesh and at least one coded peak into a bit stream byperforming entropy-coding of the coded base mesh and the at least onecoded peak.

Coded data may be transmitted after being transformed into the bitstream through the entropy-coding unit 140. Data to be coded may beconstituted by connectivity information of the base mesh, geometricinformation of the base mesh, connectivity information of eliminatedpeaks that is eliminated through the simplification, and geometricinformation of the eliminated peaks.

According to an embodiment, the geometric information of the eliminatedpeaks may be sequentially recorded in the bit stream, however, therecording may not be limited thereto.

According to another embodiment, a Most Significant Bit (MSB) among thegeometric information of peaks in the same level may be recorded first,as opposed to the above embodiment where the geometric information ofthe eliminated peaks are sequentially recorded in the bit stream.

Relatively more significant bits among bits indicating the geometricinformation of peaks may be recorded first and relatively lesssignificant bits may be sequentially recorded until a Least SignificantBit (LSB).

Depending on embodiments, the LSB may be recorded first and the MSB maybe recorded lastly.

Each of the data to be coded may be compressed through an arithmeticcoding. Geometric information of the eliminated peaks eliminated by thesimplification may have different values and have different frequenciesbased on a location of the data. Accordingly, when the data isadaptively compressed for each segmented area, the performance mayincrease.

FIG. 7 illustrates a 3D mesh compression method according to exampleembodiments.

Referring to FIG. 7, a base mesh is generated by simplifying an inputted3D mesh in operation 710. In this instance, the inputted 3D mesh may beclassified, through the mesh simplification, into a base mesh and aneliminated peak.

In operation 720, the base mesh is coded. In this instance, the codingof the base mesh may code connectivity information of the base mesh andgeometric information using a single-rate compression.

In operation 730, at least one peak eliminated through thesimplification is coded based on a covariance matrix. Here, operation730 will be further described with reference to FIG. 8.

FIG. 8 illustrates a detailed process of coding of FIG. 7 based on acovariance matrix.

Referring to FIG. 8, geometric information associated with at least oneeliminated peak is estimated in operation 810.

In operation 810, the geometric information is extracted based on eachlocal coordinate of a plurality of triangles, and a tangent vector of afirst local coordinate of a first triangle is determined by projecting,onto a plane including the first triangle, a tangent vector of a secondlocal coordinate of a second triangle adjacent to the first triangle.

In operation 820, the base mesh is segmented into at least one area.Accordingly, coding may be performed for each segmented area.

In operation 830, a covariance matrix is generated based on connectivityinformation between at least one eliminated peak. The covariance matrixmay be expressed as m rows and m columns when a number of the at leastone eliminated peak is m, and includes, as each element of the matrix,an n^(th) power of a correlation coefficient having a value between −1and 1, and n denotes a topological distance between the at least oneeliminated peak.

In operation 840, a domain-transform is performed based on the estimatedgeometric information and the covariance matrix. Operation 840 mayinclude an operation of calculating at least one eigenvector byperforming eigenvector decomposition of the covariance matrix and anoperation of calculating a coefficient of each of the at least oneeigenvector by calculating an inner product between the at least oneeigenvector and at least one residual vector that is calculated throughthe estimation of the geometric information.

According to another embodiment, a coefficient of each of the at leastone eigenvector may be calculated by calculating an inner productbetween the at least one eigenvector and at least one element of atleast one residual vector that is calculated through the estimation ofthe geometric information.

In operation 850, the coefficient calculated through thedomain-transform is quantized. A number of bits allocated for thequantization may be differently set based on an importance of thecoefficient extracted through the domain-transform.

Referring again to FIG. 7, in operation 740, the coded base mesh andcoded at least one peak may be transformed into a bit stream byentropy-coding of the coded base mesh and coded at least one peak.

FIG. 9 illustrates a geometric information estimating method accordingto example embodiments.

Referring to FIG. 9, in operation 910, a first predictive point of afirst triangle of a base mesh and a second predictive point of a secondtriangle adjacent to the first triangle are determined. In thisinstance, each predictive point may be determined based on, as anexample, an average peak location of each triangle.

In operation 920, a local coordinate of the first predictive point isdetermined based on a normal vector of the first predictive point, atangent vector of the first predictive point, and an outer productvector between the normal vector and the tangent vector.

In operation 930, a local coordinate of the second predictive point isdetermined by projecting, onto a plane including the second triangle,the tangent vector of the first predictive point. An inner product valuebetween the normal vector of the first predictive point and a normalvector of the second predictive point may be calculated in operation930. When the inner product value is a positive number, a tangent vectorof the second predictive point may be determined by projecting thetangent vector of the first predictive point onto the plane includingthe second triangle. When the value of the inner product is a negativenumber, the tangent vector of the first predictive point is projectedonto a plane including the second triangle, and an inverse vector of theprojected vector is determined as the tangent vector of the secondpredictive point. When the inner product value is zero, one of thenormal vector of the first predictive point and an inverse vector of thenormal vector of the first predictive point is determined as the tangentvector of the second predictive point. Here, in a case where the innerproduct value is zero, when the tangent vector of the first predictivepoint is identical to the normal vector of the second predictive point,the inverse vector of the normal vector of the first predictive point isdetermined as the tangent vector of the second predictive point, andwhen the tangent vector of the first predictive point is identical tothe normal vector of the second predictive point, the normal vector ofthe first predictive point is determined as the tangent vector of thesecond predictive point.

Next, the local coordinate of the second predictive point may bedetermined based on the tangent vector of the second predictive point,the normal vector of the second predictive point, and an outer productvector between the tangent vector and the normal vector.

In operation 940, geometric information associated with the eliminatedpeak is estimated based on a local coordinate of each triangle.

Accordingly, the local coordinate is used for the estimation of thegeometric information, and a direction between local coordinates ismaintained to be consistent, and thus, an effective compression may beperformed.

A 3D mesh decoding method and apparatus will be described. The decodingmethod and apparatus may be drawn from an inverse of the describedcoding method and apparatus.

FIG. 10 illustrates a 3D mesh decoding method according to exampleembodiments. It is assumed that a KLT(domain-transform is used as anexample of a domain-transform for compressing geometric information ofeliminated peaks in FIG. 10.

Referring to FIG. 10, a coded bit stream is inputted in operation 1001and the bit stream is entropy-decoded in operation 1002. Adomain-transform coefficient quantized through the entropy-decoding,simplification connectivity information for restoring a simplified mesh,connectivity information of the simplified mesh, and geometricinformation of the simplified mesh may be extracted.

In operation 1003, a domain-transform coefficient is extracted byperforming dequantization of the quantizied domain-transformcoefficient.

In operation 1007 and operation 1008, the simplified mesh is generatedby performing single-rate decoding of the connectivity information ofthe simplified mesh and the geometric information of the simplified meshextracted in operation 1001.

The generated simplified mesh is segmented into areas in operation 1009and a covariance matrix is generated for each segmented area inoperation 1010.

In operation 1004, a 3D local coordinate is generated based on thedomain-transform coefficient generated in operation 1003 and thecovariance matrix generated in operation 1010.

In operation 1005 and operation 1006, data of a 3D global coordinate isgenerated based on the simplified mesh generated in operation 1008 andthe 3D local coordinate generated in operation 1004, and eliminated peakdata is restored.

A mesh is restored based on the restored peak data and the simplifiedmesh in operation 1011, and the restored 3D mesh is outputted inoperation 1012.

FIG. 11 illustrates a 3D mesh decoding apparatus according to exampleembodiments.

Referring to FIG. 11, the 3D mesh coding apparatus 1100 may include anentropy decoding unit 1110, a base mesh decoding unit 1120, a peakdecoding unit 1130, and a mesh restoring unit 1140.

The entropy decoding unit 1110 may extract restoration information forrestoring a 3D mesh by entropy-decoding of an inputted bit stream. Inthis instance, a quantized coefficient that is quantized through theentropy-decoding, simplification connectivity information for restoringthe simplified mesh, connectivity information of the simplified mesh,geometric information of the simplified mesh, and the like may beextracted.

The base mesh decoding unit 1120 may restore a base mesh based on therestoration information. As an example, connectivity information of thebase mesh and geometric information of the base mesh extracted from theentropy-deciding unit 1110 may be single-rate decoded, and thus, thebase mesh may be restored.

The peak decoding unit 1130 may restore an eliminated peak based on acovariance matrix. Here, the peak decoding unit 1130 will be furtherdescribed with reference to FIG. 12.

FIG. 12 illustrates a peak decoding unit in the 3D mesh decodingapparatus of FIG. 11, in detail.

Referring to FIG. 12, the peak decoding unit 1130 may include asegmentation unit 1210, a matrix generating unit 1220, a domaininverse-transforming unit 1230, a dequantization unit 1240, and ageometric information restoring unit 1250.

The segmentation unit 1210 may segment a restored base mesh into atleast one area.

The matrix generating unit 1220 may generate a covariance matrix foreach segmented area. In this instance, although geometric information ofeliminated peaks may not be known from the restored base mesh,connectivity information may be obtained based on the restored basemesh, and thus, a covariance matrix identical to a covariance matrix ofthe described encoding apparatus may be constructed.

The dequantization unit 1240 may extract a dequantized coefficient bydequantizing a quantized coefficient extracted through entropy-decoding

The domain inverse-transforming unit 1230 may perform domaininverse-transform based on the dequantized coefficient and thecovariance matrix. In this instance, 3D local coordinates of theeliminated peaks may be generated based on the domain inverse-transform.

The geometric information restoring unit 1250 may restore geometricinformation associated with the eliminated peaks. In this instance, thegeometric information restoring unit 1250 may generate 3D globalcoordinate data based on 3D local coordinate data, thereby generatingdata of the eliminated peaks.

The mesh restoring unit 1140 may restore the 3D mesh based on restoredpeak data and the base mesh.

Omitted descriptions in descriptions with reference to FIGS. 7 through12 may be understood based on the descriptions with reference to FIGS. 1through 6.

As described in the above descriptions, a compression rate of a 3D meshmay be increased by constructing a covariance matrix based on atopological distance between peaks, and by compressing changed 3Dlocation information after changing the 3D location information of thepeaks into a form for an easy compression.

A local coordinate is used for estimation of geometric information, anda direction of local coordinates between adjacent triangles ismaintained to be constant, and thus, a probability distribution area maydecrease and a compression efficiency may increase.

A compression rate of a 3D graphic data may dramatically increase.

A probability distribution area of a residual vector of duringestimation of geometric information of the 3D graphic data may decreaseand thus, a compression efficiency may increase.

A complexity of a domain-transform may decrease and thus, a compressionefficiency may increase.

The method for compressing a 3D mesh according to the above-describedexample embodiments may also be implemented through computer readablecode/instructions in/on a medium, e.g., a computer readable medium, tocontrol at least one processing element to implement any above describedembodiment. The medium can correspond to medium/media permitting thestoring or transmission of the computer readable code.

The computer readable code can be recorded or transferred on a medium ina variety of ways, with examples of the medium including recordingmedia, such as magnetic storage media (e.g., ROM, floppy disks, harddisks, etc.) and optical recording media (e.g., CD-ROMs, or DVDs), andtransmission media. The media may also be a distributed network, so thatthe computer readable code is stored or transferred and executed in adistributed fashion. Still further, as only an example, the processingelement could include a processor or a computer processor, andprocessing elements may be distributed or included in a single device.

In addition to the above described embodiments, example embodiments canalso be implemented as hardware, e.g., at least one hardware basedprocessing unit including at least one processor capable of implementingany above described embodiment.

Although a few embodiments have been shown and described, it would beappreciated by those skilled in the art that changes may be made inthese embodiments without departing from the principles and spirit ofthe disclosure, the scope of which is defined by the claims and theirequivalents.

1. An apparatus for compressing a three-dimensional (3D) mesh, theapparatus comprising: a mesh simplifying unit to generate a base mesh bysimplifying an inputted 3D mesh; a base mesh coding unit to code thebase mesh; a peak coding unit to code, based on a covariance matrix, atleast one peak eliminated by the simplification; and an entropy codingunit to entropy-code the coded base mesh and the coded at least one peakinto a bit stream by performing entropy-coding.
 2. The apparatus ofclaim 1, wherein the mesh simplifying unit to perform repeatedlydepending on a number of peaks of inputted mesh.
 3. The apparatus ofclaim 1, wherein the entropy coding unit records a Most Significant Bit(MSB) first among geometric information associated with the coded basemesh and geometric information associated with the at least one codedpeak to transform the recorded MSB into a bit stream.
 4. The apparatusof claim 1, wherein the entropy coding unit records a Least SignificantBit (LSB) first among the coded base mesh and geometric informationassociated with the at least one coded peak to transform the recordedLSB into a bit stream.
 5. The apparatus of claim 1, wherein the basemesh encoding unit codes connectivity information of the base mesh andthe geometric information based on a single-rate compression.
 6. Theapparatus of claim 1, wherein the peak coding unit comprises: ageometric information estimating unit to estimate geometric informationassociated with the at least one eliminated peak; a segmentation unit tosegment the base mesh into at least one area; a matrix generating unitto generate the covariance matrix based on connectivity informationbetween the at least one eliminated peak; a domain-transforming unit toperform a domain-transform based on the estimated geometric informationand the covariance matrix; and a quantization unit to quantize acoefficient calculated by the domain-transform.
 7. The apparatus ofclaim 6, wherein the geometric estimating unit performs estimatinggeometric information based on each local coordinate of a plurality oftriangles, and wherein a tangent vector of a first local coordinate of afirst triangle among the plurality of triangles is determined byprojecting, onto a plane including the first triangle, a tangent vectorof a second local coordinate of a second triangle adjacent to the firsttriangle.
 8. The apparatus of claim 6, wherein the matrix generatingunit performs: calculating a topological distance between the at leastone eliminated peak; and generating the covariance matrix including acovariance determined based on the topological distance, as an element.9. The apparatus of claim 8, wherein: the covariance matrix is expressedas m rows and m columns when a number of the at least one eliminatedpeak is m, and the covariance matrix includes, as each element of thematrix, an n^(th) power of a correlation coefficient having a valuebetween −1 and 1, and n denotes the topological distance between the atleast one eliminated peak.
 10. The apparatus of claim 6, wherein thedomain-transforming unit comprises: an eigenvector calculating unit tocalculate at least one eigenvector by performing eigenvectordecomposition of the covariance matrix; and a coefficient calculatingunit to calculate a coefficient of each of the at least one eigenvectorsby calculating an inner product between the at least one eigenvector andat least one residual vector that is calculated through the estimationof the geometric information.
 11. The apparatus of claim 6, wherein thedomain-transforming unit comprises: an eigenvector calculating unit tocalculate at least one eigenvector by performing eigenvectordecomposition of the covariance matrix; and a coefficient calculatingunit to calculate a coefficient of each of the at least one eigenvectorsby calculating an inner product between the at least one eigenvector andat least one element of at least one residual vector that is calculatedthrough the estimation of the geometric information.
 12. The apparatusof claim 6, wherein the quantization unit differently sets a number ofbits allocated to the quantization based on an importance of acoefficient extracted through the domain-transform.
 13. An apparatus fordecoding a 3D mesh, the apparatus comprising: an entropy decoding unitto extract restoration information to restore the 3D mesh byentropy-decoding of an inputted bit stream; a base mesh decoding unit todecode a base mesh based on the restoration information; a peak decodingunit to restore an eliminated peak based on a covariance matrix; and amesh restoring unit to restore the 3D mesh based on the restored peakdata and the base mesh.
 14. The apparatus of claim 13, wherein the peakdecoding unit comprises: a segmentation unit to segment the restoredbase mesh into at least one area; a matrix generating unit to generate acovariance matrix for each segmented area; a dequantization unit toperform dequantization of a quantized coefficient extracted through theentropy-decoding, and to extract the dequantized coefficient; a domaininverse-transforming unit to perform a domain inverse-transform based onthe dequantized coefficient and the covariance matrix; and a geometricinformation restoring unit to restore geometric information associatedwith the eliminated peak.
 15. A method of compressing a 3D mesh, themethod comprising: generating a base mesh by simplifying an inputted 3Dmesh; coding the base mesh; coding at least one peak eliminated by thesimplification, based on a covariance matrix; and entropy coding thecoded base mesh and coded at least one peak into a bit stream performingentropy coding.
 16. The method of claim 15, wherein the transformingcomprises: recording an MSB first among the coded base mesh andgeometric information associated with the at least one coded peak totransform the recorded MSB into a bit stream.
 17. The method of claim15, wherein the transforming comprises: recording an LSB first among thecoded base mesh and geometric information associated with the at leastone coded peak to transform the recorded LSB into a bit stream.
 18. Themethod of claim 15, wherein the coding of the base mesh codesconnectivity information of the base mesh and geometric informationbased on a single-rate compression.
 19. The method of claim 15, whereinthe coding based on the covariance matrix comprises: estimatinggeometric information associated with the at least one eliminated peak;segmenting the base mesh into at least one area; generating thecovariance matrix based on connectivity information between the at leastone eliminated peak; performing a domain-transform based on theestimated geometric information and the covariance matrix; andquantizing a coefficient calculated through the domain-transform. 20.The method of claim 19, wherein the estimating estimates the geometricinformation based on each local coordinate of a plurality of triangles,and wherein a tangent vector of a first local coordinate is determinedby projecting, onto a plane including the first triangle, a tangentvector of a second local coordinate of a second triangle adjacent to thefirst triangle.
 21. The method of claim 19, wherein the generatingperforms: calculating a topological distance between the at least oneeliminated peak; and generating the covariance matrix including acovariance determined based on the topological distance, as an element.22. The method of claim 21, wherein: the covariance matrix is expressedas m rows and m columns when a number of the at least one eliminatedpeaks is m, and the covariance matrix includes, as each element of thematrix, a n^(th) power of a correlation coefficient having a valuebetween −1 and 1 and the n denotes the topological distance between theat least one eliminated peak.
 23. The method of claim 19, wherein theperforming of the domain-transform comprises: calculating at least oneeigenvector by performing eigenvector decomposition of the covariancematrix; and calculating a coefficient of each of the at least oneeigenvector by calculating an inner product between the at least oneeigenvector and at least one residual vector that is calculated throughthe estimation of the geometric information.
 24. The method of claim 19,wherein the performing of the domain-transforming comprises: calculatingat least one eigenvector by performing eigenvector decomposition of thecovariance matrix; and calculating a coefficient of each of the at leastone eigenvectors by calculating an inner product between the at leastone eigenvector and at least one element of at least one residual vectorthat is calculated through the estimation of the geometric information.25. The method of claim 19, wherein the quantizing differently sets anumber of bits allocated to the quantization based on an importance of acoefficient calculated through the domain-transform.
 26. A method ofestimating geometric information of a peak eliminated throughmesh-simplification, the method comprising: determining a firstpredictive point of a first triangle of a base mesh and a secondpredictive point of a second triangle adjacent to the first triangle;determining a local coordinate of the first predictive point based on anormal vector and a tangent vector at the first predictive point, and anouter product vector between the normal vector and the tangent vector;determining a local coordinate of the second predictive point byprojecting, onto a plane including the second triangle, the tangentvector of the first predictive point; and estimating the geometricinformation of the eliminated peak based on the local coordinates of thetriangles.
 27. The method of claim 26, wherein the determining of thelocal coordinate of the second predictive point comprises: calculatingan inner product of the normal vector of the first predictive point witha normal vector of the second predictive point; determining a tangentvector of the second predictive point by projecting the tangent vectorof the first predictive point onto a plane including the secondtriangle, when the inner product is a positive number; determining, asthe tangent vector of the second predictive point, an inverse vector ofa vector obtained by projecting the tangent vector of the firstpredictive point onto the plane including the second triangle, when theinner product is a negative number; determining, as the tangent vectorof the second predictive point, one of the normal vector of the firstpredictive point and an inverse vector of the normal vector of the firstpredictive point, when the inner product is zero; and determining thelocal coordinate of the second predictive point based on the tangentvector of the second predictive point, the normal vector of the secondpredictive point, an outer product vector between the tangent vector ofthe second predictive point and the normal vector of the secondpredictive vector.
 28. The method of claim 26, wherein the determining,as the tangent vector of the second predictive point, of the one of thenormal vector of the first predictive point and the inverse vector ofthe normal vector of the first predictive point performs: determiningthe inverse vector of the normal vector of the first predictive point asthe tangent vector of the second predictive point, when the tangentvector of the first predictive point is identical to the normal vectorof the second predictive point; and determining the normal vector of thefirst predictive point as the tangent vector of the second predictivepoint, when the tangent vector of the first predictive point isidentical to an inverse vector of the normal vector of the secondpredictive point.
 29. A computer readable recording medium storing aprogram implementing the method of claim 15.